package com.vis.wz.pdftoexcel.util;

import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class StringKit {

    /**
     * 提取两个关键词之间的内容
     *
     * @param text         原始文本
     * @param startKeyword 开始关键词
     * @param endKeyword   结束关键词
     * @return 两个关键词之间的内容（去除空格和换行符）
     */
    public static String extractContentBetweenKeywords(String text, String startKeyword, String endKeyword) {
        if (text == null || startKeyword == null || endKeyword == null) {
            return "";
        }

        // 构建正则表达式，使用Pattern.quote来避免特殊字符问题
        String regex = Pattern.quote(startKeyword) + "(.*?)" + Pattern.quote(endKeyword);
        Pattern pattern = Pattern.compile(regex, Pattern.DOTALL);
        Matcher matcher = pattern.matcher(text);

        if (matcher.find()) {
            // 提取匹配的内容，并去除空格和换行符
            String content = matcher.group(1).trim();
            return content.replaceAll("\\s+", ""); // 移除所有空白字符（空格、换行、制表符等）
        }

        return ""; // 如果没有找到匹配的内容，返回空字符串
    }


    public static String toString(List<String> list) {
        return String.join("", list);
    }

    public static void main(String[] args) {
        // 示例文本
        String documentText = "第0页：\n" +
                "[跨区域涉税事项报告表\n" +
                "纳税人名称\n" +
                "天津新特威建设工程有限公\n" +
                "司\n" +
                "纳税人识别号\n" +
                "（统一社会信用代码）\n" +
                " \n" +
                "911201165961432128\n" +
                "经办人 温玥 座机 手机 15822759870\n" +
                "跨区域涉税事项联系人 李文文 座机 手机 18672178439\n" +
                "跨区域\n" +
                "经营地址\n" +
                "湖北省黄石市大冶市陈贵镇\n" +
                "经营方式 建筑安装\n" +
                "合同名称\n" +
                "黄石作业区仪长线 572#+430米等 16处管道光\n" +
                "缆浅埋整治\n" +
                "合同编号\n" +
                "合同金额 360000.00 合同有效期限\n" +
                "2025年 09月 17日至 2025年 11月 16\n" +
                "日\n" +
                "合同相对方名称\n" +
                "国家石油天然气管网集团有限\n" +
                "公司华中分公司\n" +
                "合同相对方纳税人识别号\n" +
                "（统一社会信用代码）\n" +
                "无\n" +
                "跨区域涉税事项报验管理编号\n" +
                "延长有效期\n" +
                "最新有效期止\n" +
                "纳税人声明：我承诺，上述填报内容是真实的、可靠的、完整的，并愿意承担相应法律责任。\n" +
                "                            经办人：温玥       纳税人（盖章）                      \n" +
                "                                             2025年 09月 17日\n" +
                "税务机关事项告知：纳税人应当在跨区域涉税事项报验管理有效期内在经营地从事经营活动，若\n" +
                "合同延期，可向经营地或机构所在地的税务机关办理报验管理有效期的延期手续。\n" +
                "以下由税务机关填写\n" +
                "跨区域涉税事项报验管理编号： 津滨税塘 跨报 〔2025〕 1630 号 \n" +
                "经办人：            负责人：\n" +
                "                                           税务机关（盖章）\n" +
                "                                            2025年 09月 17日\n" +
                "税务机关联系电话：   \n" +
                "跨区域涉税事项报验管理有效日期 2025年 09月 17日至 2025年 11月 16日\n" +
                "延长后的跨区域涉税事项报验管理有效日期\n" +
                "]";

        // 调用方法提取内容
        String startKeyword = "经营地址";
        String endKeyword = "经营方式";

        String result = extractContentBetweenKeywords(documentText, startKeyword, endKeyword);

        System.out.println("提取的内容: " + result);
        // 输出: 提取的内容: 湖北省黄石市大冶市陈贵镇
    }
}